<?php

class SolicitacaoController extends AppController {

    public function index() {
        try {
            if ($this->request->is('post')) {
//                echo '<pre>';
//                var_dump($this->request->data);
//                exit;
                if (!self::validaPesquisa($this->request->data['Pesquisar'])) {
                    return false;
                } else {
                    $this->loadModel('Paciente');
                    $i = 0;
                    $parametros = array();

                    if ($this->request->data['Pesquisar']['NM_PAC'])
                        $parametros['conditions'][$i++] = array('PACIENTE.NM_PAC LIKE ' => '%' . $this->request->data['Pesquisar']['NM_MEDIC'] . '%');

//                    if ($this->request->data['Pesquisar']['CO_CNS'])
//                        $parametros['conditions'][$i++] = array('PACIENTE.CO_CNS = ' => $this->request->data['Pesquisar']['CO_CNS']);
//                    if ($this->request->data['Pesquisar']['CO_SOLICITACAO'])
//                        $parametros['conditions'][$i++] = array('PACIENTE.CO_SOLICITACAO = ' => $this->request->data['Pesquisar']['CO_SOLICITACAO']);
//                    if ($this->request->data['Pesquisar']['ST_FASE'])
//                        $parametros['conditions'][$i++] = array('PACIENTE.ST_FASE = ' => $this->request->data['Pesquisar']['ST_FASE']);
//                    if ($this->request->data['Pesquisar']['DT_SOLICITACAO'])
//                        $parametros['conditions'][$i++] = array('PACIENTE.DT_SOLICITACAO = ' => $this->request->data['Pesquisar']['DT_SOLICITACAO']);
//                        
//                    if ($this->request->data['Pesquisar']['ST_EXPIRAR'])
//                        $parametros['conditions'][$i++] = array('PACIENTE.ST_EXPIRAR = ' => $this->request->data['Pesquisar']['ST_EXPIRAR']);

                    $dados = $this->Pacientes->find('all', array(
                        'joins' => array(
                            array(
                                'table' => 'AUTORIZADO',
                                'alias' => 'AUTORIZADO',
                                'type' => 'INNER',
                                'conditions' => array(
                                    'AUTORIZADO.CD_LOGIN = MEDICO.CD_LOGIN'
                                )
                            ),
                            array(
                                'table' => 'UF',
                                'alias' => 'UF',
                                'type' => 'INNER',
                                'conditions' => array(
                                    'UF.CD_UF = MEDICO.UF_CRM'
                                )
                            )
                        ),
                        'conditions' => $parametros['conditions']
                        ,
                        'fields' => array('MEDICO.NM_MEDIC',
                            'MEDICO.CPF_MEDIC',
                            'MEDICO.CD_CRM',
                            'MEDICO.IM_FOTO',
                            'MEDICO.NU_CNSUS',
                            'AUTORIZADO.CD_LOGIN',
                            'AUTORIZADO.STATUS',
                            'AUTORIZADO.DS_EMAIL',
                            'UF.NM_UF',
                            "(SELECT '('+A.DDD_TELEFONE+')'+NU_TELEFONE AS [data()] 
                                                                    FROM TB_TELEFONE A
                                                                    WHERE A.CD_LOGIN = MEDICO.CD_LOGIN
                                                                    FOR XML PATH('')) as TELEFONES ")
                        )
                    );

                    $this->set('Pesquisar', $dados);
                }
            }
        } catch (Exception $e) {
            $retorno['RETORNO'] = 'false';
            print $e;
        }
    }

    public function cadastrar($id = null) {
        if (!$id) {
            $this->Session->setFlash(__('É necessário informar um paciente para essa operação.'));
            $this->redirect('index');
        }

        $this->loadModel('Paciente');

        $condition = array(
            'conditions' => array(
                'PACIENTE' . '.CD_PAC' => $id
            ),
            'callbacks' => false
        );

        $arrPaciente = $this->Paciente->find('first', array(
            'joins' => array(
                array(
                    'table' => 'RL_SITUACAO_PACIENTE',
                    'alias' => 'SITUACAO',
                    'type' => 'LEFT',
                    'conditions' => array(
                        'SITUACAO.CD_PAC = PACIENTE.CD_PAC'
                ))
            )), $condition);
//        echo '<pre>';
//        var_dump($arrPaciente["Paciente"]);
//        exit;
        // verificando a situacao do paciente
        // RN-SOL_006:  Não se pode incluir solicitações para pacientes excluídos        
        if ($arrPaciente["Paciente"]) {
            $this->Session->setFlash(__('É necessário informar um paciente para essa operação.'));
            $this->redirect('index');
        }
    }

}